package com.yxym.generic;

import java.util.ArrayList;

@SuppressWarnings({"all"})
public class CustomMethodGeneric {
    public static void main(String[] args) {
        Car car = new Car();
        car.fly("奔驰",10);
        car.fly(20,30);
        System.out.println("===========");
        fish<String ,ArrayList> f = new fish<>();
        f.ok(new ArrayList(),"黑马");
    }
}

//泛型方法，可以定义在普通类中，也可以定义在泛型类中
class Car {
    public void run(){
        //普通方法
    }
    //1.<T,R>就是泛型
    public <T ,R> void fly(T t , R r){//泛型方法
        System.out.println(t.getClass());
    }
}

class fish<T,R>{//泛型类
    public void  Swing(){
    }
    public <U,M> void sleep(U u, M m){//泛型方法
    }
    public void star(T t){//方法使用类的泛型
    }
    public<F> void ok(R r ,F f){//泛型方法，可以使用类声明的泛型，
        // 也可以使用自己声明的泛型
        System.out.println(r.getClass());
        System.out.println(f.getClass());
    }
}